The present invention relates generally to techniques for designing integrated circuits (ICs). Specifically, the present invention relates to the use of a software graphic editor for designing logic devices using one or more high level block diagrams.
Despite the prevalence of sophisticated design software and automated manufacturing techniques, the first step in designing often involves a hand drawn block diagram in designer's notebook. The hand drawn block diagram is typically used as a tool for organizing the thoughts of the designer as to the high-level architecture and functionalities of the device but is not typically used as a software design entry point. In fact, several levels of such hand drawn block diagrams of increasing detail are often employed until the level of detail reaches a point where currently available software design tools can provide design elements having the requisite functionalities.
There are computer aided drawing (CAD) tools with which a designer can create such block diagrams in a graphical user interface. However, such CAD tools do not interface with the design tools used for defining the circuit level implementation of the blocks in the block diagram. Even with an electronically created block diagram, unrelated design files must be created for the implementation of the individual blocks of the diagram. That is, a block diagram created with a currently available CAD tool is about as useful as a hand drawn block diagram with regard to the circuit level implementation of a design.
It is therefore apparent that there is a need for a design tool which will enable the designer not only to create high level block diagrams, but to actually use these diagrams in the software environment as a design entry point, and moreover to use the diagrams in conjunction with existing design tools to implement gate level design.